package com.agentframework.core.annotation;

import org.springframework.stereotype.Component;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 标记一个类为环境组件
 * 用于自动注册到 Spring 容器中，并管理相关的 Agent
 *
 * @author wangjun
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Component
public @interface Environment {

    /**
     * 环境的名称，默认为空
     */
    String name() default "";

    /**
     * 指定这个环境可以管理的 Agent 类型
     */
    Class<?>[] agents() default {};

    /**
     * 针对游戏-游戏轮数
     * @return
     */
    int round() default 1;

    /**
     * 针对游戏-玩家数量
     * @return
     */
    int playerCount() default 3;

}